Retroactive Compatibility Interactive System and Method Thereof

ABSTRACT

A controller in communicative connection with a receiver configured to receive data only as a function of at least one legacy input device, and method thereof are provided. The controller includes at least one non-legacy input device, and a retroactive compatibility device configured to translate data received as a function of the at least one non-legacy input device, such that the translated data is configured to be received by a receiver configured to receive data as a function of the at least one legacy input device.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority under 35 U.S.C. §119(e) to U.S.Provisional Patent Application No. 61/097,086, filed on Sep. 15, 2008,by Seth A. Claussen, the entire disclosure of which is herebyincorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to a retroactive compatibilityinteractive system and method thereof, and more particularly, a videogame system having a retroactive capability device and method thereof.

BACKGROUND OF THE INVENTION

Generally, gaming and entertainment consoles provide platforms fordelivering content, such as movies, television programming, orinteractive games. Typically, gaming and entertainment consoles have aninability to significantly expand beyond an initial configuration afterdesign and manufacture thereof. Thus, any technological advances ingraphics, sound, or other processing hardware cannot be added to thegaming and entertainment console after the consoles are initiallydesigned, manufactured, and sold. Once the console is made, the consoleis generally not subject to any significant changes or updates, and auser of such a console typically has to buy a new console in order totake advantage of new technologies.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, a controller incommunicative connection with a receiver configured to receive data onlyas a function of at least one legacy input device includes at least onenon-legacy input device. The controller further includes a retroactivecompatibility device configured to translate data received as a functionof the at least one non-legacy input device, such that the translateddata is configured to be received by a receiver configured to receivedata as a function of the at least one legacy input device.

According to another aspect of the present invention, a video gamesystem includes a video game controller in communicative connection witha video game console configured to receive data only as a function of atleast one legacy input device. The video game system includes at leastone input device, and a retroactive compatibility device that translatesdata received as a function of the at least one input device, such thatthe translated data is configured to be received by the video gameconsole that is configured to execute at least one software routineintended to function with data other than the data received as afunction of the at least one input device.

According to yet another aspect of the present invention, a method ofretroactive compatibility, such that a receiver receives data as afunction of at least one non-legacy input device, wherein the receiveris configured to receive data only as a function of at least one legacyinput device, includes the steps of receiving data from the at least onenon-legacy input device of a controller, translating data received fromthe at least one non-legacy input device to be retroactively compatible,and outputting the translated data from the controller to the receiver.

These and other features, advantages and objects of the presentinvention will be further understood and appreciated by those skilled inthe art by reference to the following specification, claims and appendeddrawings.

DETAILED DESCRIPTION OF THE DRAWINGS

The present invention will now be described, by way of example, withreference to the accompanying drawings, in which:

FIG. 1 is a top and back perspective view of a video game controller, inaccordance with one embodiment of the present invention;

FIG. 2 is a top plan view of a video game controller, in accordance withone embodiment of the present invention;

FIG. 3 is a bottom plan view of a video game controller, in accordancewith one embodiment of the present invention;

FIG. 4 is a front plan view of a video game controller, in accordancewith one embodiment of the present invention;

FIG. 5 is a block diagram of a video game controller including aretroactive compatibility device, in accordance with one embodiment ofthe present invention;

FIG. 6 is a flowchart illustrating data communication in a retroactivecompatibility interactive system that includes a retroactivecompatibility device, in accordance with one embodiment of the presentinvention;

FIG. 7 is a flowchart illustrating data flow in a retroactivecompatibility interactive system that includes having a retroactivecompatibility device, in accordance with one another embodiment of thepresent invention;

FIG. 8 is a flowchart illustrating data flow in a retroactivecompatibility interactive system that includes a retroactivecompatibility device, in accordance with one embodiment of the presentinvention; and

FIG. 9 is a flowchart illustrating data flow in a retroactivecompatibility interactive system that includes having a retroactivecompatibility device, in accordance with one embodiment of the presentinvention.

DETAILED DESCRIPTION

Before describing in detail embodiments that are in accordance with thepresent invention, it should be observed that the embodiments includecombinations of method steps and apparatus components related to aretroactive compatibility interactive system and method thereof.Accordingly, the apparatus components and method steps have beenrepresented, where appropriate, by conventional symbols in the drawings,showing only those specific details that are pertinent to understandingthe embodiments of the present invention so as not to obscure thedisclosure with details that will be readily apparent to those ofordinary skill in the art having the benefit of the description herein.Further, like reference characters in the description and drawingsrepresent like elements.

In this document, relational terms, such as first and second, top andbottom, and the like, may be used to distinguish one entity or actionfrom another entity or action, without necessarily requiring or implyingany actual such relationship or order between such entities or actions.The terms “comprises,” “comprising,” or any other variation thereof, areintended to cover a non-exclusive inclusion, such that a process,method, article, or apparatus that comprises a list of elements does notinclude only those elements but may include other elements not expresslylisted or inherent to such process, method, article, or apparatus. Anelement proceeded by “comprises . . . a” does not, without moreconstraints, preclude the existence of additional identical elements inthe process, method, article, or apparatus that comprises the element.

In regards to FIGS. 1-5, a controller having at least one non-legacyinput device in communicative connection with a receiver configured toreceive data as a function of at least one legacy input device isgenerally shown at reference identifier 10. Typically, the controller 10is a video game controller, as described herein; however, it should beappreciated by those skilled in the art that the controller 10 can beused in other suitable systems. According to one embodiment, thereceiver is configured to receive data only as a function of at leastone legacy input device.

The video game controller 10 can be configured to function with areceiver, such as, but not limited to, a video game console, generallyindicated at 12. The video game controller 10 can include a plurality ofinput devices that have various affects with an image displayed on animage device or display 14 (e.g., a television screen, a computerscreen, or the like) as a function of the video game console 12, theaudio being emitted by an audio device 16 as a function of the videogame console 12, or a combination thereof, according to one embodiment.Thus, the video game controller 10 and video game console 12 can beincluded in a retroactive compatibility interactive system, such as, butnot limited to, a video game or entertainment system. The video gamecontroller 10 can also include the plurality of input devices (e.g.,first input device, second input device, . . . N^(th) input device),which can be used with any game being played in the video game console12, such that the video game controller 10 includes a retroactivecompatibility device, generally indicated at 18, that communicates asdescribed in greater detail herein.

According to one embodiment the plurality of input devices (e.g., legacyinput devices and non-legacy input devices) of the video game controller10 can include a D-pad 20, a joystick 22, a trackball 24, an A-Button26, a B-Button 28, a X-Button 30, a Y-Button 32, a selection wheel 34, abumper 36, a trigger 38, the like, or combination thereof. For purposesof explanation and not limitation, the at least one non-legacy inputdevice can include a joystick 22, a trackball 24, or a combinationthereof. The video game controller 10 can also include one or morerotary wheels 40 that control a sensitivity of the joystick 22 and/orthe trackball 24, one or more light emitting diodes and/or image displaydevices 42, which can indicate the status of operating conditions of thevideo game controller 10, one or more retroactive compatibilityselection devices 44, a menu selection button 46, the like, or acombination thereof. Exemplary designs of the controller 10 areillustrated in U.S. Design patent application Ser. No. 29/323,654entitled “VIDEO GAME CONTROLLER,” and U.S. Design patent applicationSer. No. 29/342,439 entitled “VIDEO GAME CONTROLLER,” the entiredisclosures of which are hereby incorporated herein by reference.

In regards to FIG. 5, the video game controller 10 can include theretroactive compatibility device 18 and the retroactive compatibilityselection device 44. According to one embodiment, the retroactivecompatibility device 18 is a device that is configured to allow thevideo game controller 10 to function with a game that is being played,via the video game console 12, wherein the game was not designed (e.g.,executable software utilized to play the game) to function with one ormore of the plurality of input devices contained in the video gamecontroller 10. By way of explanation and not limitation, the video gamecontroller 10 can include legacy input devices, such that these devicesare recognized by the video game system 10, and the commands receivedtherefrom can pass-through the retroactive compatibility device 18,whereas non-legacy input devices can be devices that are not recognizedby the video game console 12 and be filtered by the retroactivecompatibility device 18.

The retroactive compatibility device 18 can include a controller 48 anda memory device 50 that stores one or more executable software routines52. Typically, the executable software routine 52 are executed by thecontroller 48 in order for the retroactive compatibility device 18 tofunction with the video game console 12, such that the software routines52 of the retroactive compatibility device 18 are executed to analyzeand/or convert the signal received from one or more of the plurality ofinput devices in order for the signal to be received and function withthe executable software of the game being played via the video gameconsole 12. According to an alternate embodiment, the retroactivecompatibility device 18 and compatibility selection device 44 can beintegrated with the video game console 12, an adapter in communicationbetween the controller 10 and the video game console 12, or acombination thereof.

In regards to FIGS. 1-6, a method of collecting data is generally shownin FIG. 6 at reference identifier 100, according to one embodiment.Generally, the method 100 is a translation matrix for data, such thatcursory devices (e.g., a mouse, the trackball 24, the joystick 22, othernon-standard or non-legacy input devices, or a combination thereof) canbe employed while utilizing current software that is not specificallydesigned for them. Typically, the method 100 can be implemented by theone or more executable software routines 52. The method 100 starts atstep 102, wherein data is inputted from at least one of the plurality ofinput devices (e.g., an external source, such as a user), such as, butnot limited to, the D-pad 20, the joystick 22, the trackball 24, theA-Button 26, the B-Button 28, the X-Button 30, the Y-Button 32, theselection wheel 34, the bumper 36, the trigger 38, the rotary wheel 40,the like, or combination thereof. The input data can include a form oftravel data, such as, but not limited to, map-input coordinates orseparate x and y variable data. According to one embodiment, travel datacan be map-input data that may be conditioned with x and y standingalone rather than in an array variable coordinate system (e.g., aone-by-two {x,y} matrix).

At decision step 104, it is determined which translation method has beenselected. According to one embodiment, at step 104, the travel data maybe conditioned (e.g., convert binary to hexadecimal, a floating-pointdecimal to an integer, or the like, wherein an overall value does notchange) for software routine purposes.

If it is determined at decision step 104 that a legacy functionalitytranslation has been selected, then the method 100 proceeds to step 106,wherein the data inputted from the input device is morphed to mimiclegacy devices or is nullified for retroactive compatibility. Accordingto one embodiment, the legacy functionality translation step 106 isexecuted so that the data being received from the video game controller10 by the video game console 12 from a standard controller (e.g., legacydevice). By way of explanation and not limitation, for cursory devices(e.g., legacy device) this is an x:n translation, while additional inputdevices may be nullified entirely.

However, if it is determined at decision step 104 that a compatibilityand overdrive method has been selected, the method 100 proceeds to step108, wherein data that is a function of the movement or depression ofthe input devices is converted to be similar to data that is a functionof a standard controller (e.g., legacy device), but operates measurablyoutside legacy standards. In such an embodiment, the data appears to thevideo game console 12 to be similar to that of a standard input, but mayextend beyond the typical boundaries of standard input. For purposes ofexplanation and not limitation, for cursory devices, (e.g., legacydevice) this translation method performs an x/n calculation and convertsthe data to a more meaningful state for video game consoles 12. Forother input devices (e.g., a non-legacy input device) the input data canbe reassigned a value from what standard control already allows, ratherthan being nullified entirely, according to one embodiment.

If it is determined at decision step 104 that a pass-through translationmethod has been selected, the method 100 proceeds to step 110, whereindata remains unmodified beyond any calculations performed in the datapull and preparation (e.g., signal processing). In such a step, themethod sends the data received from a data pull and preparation directlyto collection, so that the data is transmitted from the video gamecontroller 10 to the video game console 12, according to one embodiment.

According to one embodiment, the method 100 can include step 112,wherein data is collected and stored for output until a time-to-liveexpires. Thus, data can be received from any of the chosen steps 106,108, 110, and any modulation, encoding, or other calculations (e.g.,truncation, preconfigured data reassignment, or the like), so that thedata is then stored until it is time to send the data to an externalsource (i.e., video game console 12) or until the data's time-to-liveexpires. According to one embodiment, the time-to-live is apredetermined time period in which such data will be stored, at whichtime if the data has not been transmitted to an external device, suchas, but not limited to, a video game console 12, the data will bedeleted. The data can then be outputted from the video game controller10 to an external device, such as, but not limited to, a video gameconsole 12 at step 114.

According to an alternate embodiment, with reference to FIGS. 1-5 and 7,a method of collecting data is generally shown in FIG. 7 at referenceidentifier 200. The method 200 starts at step 202, wherein an outsidesource sends binary map-travel data from a device (e.g., data receivedas a function of movement of trackball 24). Typically, this data can bereferred to as map-input. At step 204, a processor may send informationthrough a digital logic filter, such that this information can include,but is not limited to, a timing modulation, map input sensitivity,map-input compatibility mode, add-on compatibility mode, button/inputdevice configuration, the like, or a combination thereof. Suchinformation can be transmitted from the video game controller 10,remitted by the video game controller 10, or a combination thereof.According to one embodiment, the controller 48 executes the one or moresoftware routines 52 to perform steps 202 and 204, wherein the processor48 is internal to the retroactive compatibility device 18. However, itshould be appreciated that the controller 48 or other controller can beexternal to the retroactive compatibility device 18.

At step 206, operations of input may work on a cyclical basis, whereinthe controller processor input (step 204) does not provide a timingmodulation to determine when to record readings from the map-input (step202). A resistor-capacitor circuit may be used to provide a base fortiming modulation at step 208, according to one embodiment. In such anembodiment, at step 208, operations of input may work on a cyclicalbasis, wherein a timing mechanism tells an input processor when torecord a reading from the x/y map device (step 202), if need-be. Thismodulation can also determine when to send an input signal to aninterface of the video game console 12, and when to clear that signal(e.g., reset the input to an idle or zero state), should the input bestored in memory for retrieval by the interface of the video gameconsole 12. Typically, the software program being run on the video gameconsole 12 will query or open itself up to information being sent by thecontroller 48 for input at certain intervals, while a filter process cantake queue from this query for timing purposes, such that data can becollected as fast as the intervals being queried. However, it should beappreciated by those skilled in the art that the method 200 can beimplemented without a timing mechanism.

At step 210, input is received from a map device (step 202) and timingindicator (step 208), wherein this data is translated from raw data intodata that the video game console 12 can use. Thus, it is determinedwhether to pass the data on directly from the map device (step 202),grab snapshot readings at intervals determined by timing modulation(step 208), or grab a series of readings based on either of the previousconditions and perform an average to pass along.

At step 212, external hardware, such as, but not limited to, the rotarywheel 40 allows the user to manually and instantaneously provide asensitivity factor to the map input (e.g., joystick 22, trackball 24,the like, or a combination thereof). At step 216, a user can control aswitch that tells the digital logical filter (e.g., the controller 48)which mode to use, and therefore, what calculations if any to perform onthe map-input data. The method 200 then proceeds to step 218, whereinthe digital logic (e.g., the video game console 12) receives the mapinput, and based upon the compatibility mode selected by the user (step216) or the controller 48 (step 204), the information is sent throughthe proper data filter.

When a compatibility mode is selected at decision step 218, the method200 can perform a sensitivity calculation at step 219. At step 219, themap-input information passed along from step 210 is factorized basedupon the sensitive data received at step 204, step 212, or a combinationthereof. According to one embodiment, manual input (e.g., using therotary wheel 40) takes precedence over information sent from a mastercontroller since the master controller sensitivity can always be usedexclusively by setting the manual control to one hundred percent (100%)(x*1, wherein x is map-input data), and the manual input can be adjustedwithout setting the video game console 12 to an idle state (e.g.,pausing the game). If x equals map data and F equals sensitivity factor,the manual factorization can include a range from ten percent (10%)(F=0.1) to one thousand percent (1,000%) (F=10), so that x*F will bepassed onto other steps of the method 200, according to one embodiment.

If the full compatibility mode filter is selected, then the method 200proceeds to step 217, wherein the filter takes the map-input andtranslates it to data that exactly duplicates that generated by aconditional analog stick, typically a +/− counter, according to oneembodiment. In such a mode the map-input may rarely, if at all,differentiate from the map-data provided by an aforementioned analogstick, such that the filter allows previous games to function, but maynot see the control benefits typically provided by traditionallymap-input devices. According to one embodiment, this is a 1:1translation, such that data from an analog stick communicates data thatthe program translates into an integer counter in the x-axis in a rangefrom −10 to 10, while the map-input sends a zero-capture and motion datain the form of +356.24 dots from home. Typically, any value themap-input generates is translated to an integer that falls into theaforementioned range of the analog stick. For purposes of explanationand not limitation, any value from approximately 50 to 149.99 istranslated to a +1 counter, while any value over approximately 950becomes +10 (including 1001, 2,000, 10,000, etc.). Thus, the method 200generally does not receive any value greater than what is traditionallysent by an analog stick, while the video game controller 10 can haveuniversal compatibility with the video game console 12. In such anembodiment, any value exceeding a given range-matrix (positively ornegatively) can be assigned a maximum positive or negative valueallowable by a legacy device.

When a compatibly and overdrive filter is selected, at decision step218, the method 200 proceeds to step 221, wherein the filter takes themap-input, and converts it to a data-type similar to what thetraditional analog stick generates, for example, a +/31 counter is usedby a traditional console game analog sticks. However, the filter cangenerate counters that allow for finer control and even exceed what isallowed by analog sticks, which typically results in a control responsethat more closely resembles typical mouse or trackball operation.According to one embodiment, this filter will be less compatible withthe video game console 12 than the compatible mode as described in step217, but more so than the compatibility mode described in step 220.Typically, step 221 is an A/B translation (e.g., 356.24/100=3.5624),such that the traditional analog stick sends a signal to the video gameconsole 12 that is translated into an integer from 0-10, wherein thenumber must be a whole number, and due to the physical limitations ofthe analog stick, can never exceed 10. According to one embodiment, inthis mode, the map-input data from the trackball 24 can be translatedinto data that looks nearly the same as that sent by the analog stick,can operate outside the typical boundaries, and can go beyond thephysical limitations of the analog stick by generating counters thatexceed ten, wherein this range would only be limited by the sensitivityand speed of motion of the trackball 24. It should be appreciated bythose skilled in the art that the final number may be rounded for speedand process of efficiency, but the overall impact of this estimationwill be negligible, such that the data can be rounded to an integer andgenerate a substantially identical data-type to the analog stick, butwith a greater range.

If the method 200 proceeds to step 220, full control method has beenselected, such that no further calculations are performed on themap-input data. Thus, the data is passed directly through, which caninclude signal processing for communicating the data, according to oneembodiment. At step 222, the map-input data and any timing-modulationdata from the filter, whether steps 217, 220, or 221 were implemented,is passed onto final collation. At decision step 224, the method 200collates data from the various processes and communicates or sends thedata onto the controller 48. The travel data or map-input data may beconditioned (e.g., convert binary to hexadecimal, a floating-pointdecimal to an integer, or the like, wherein an overall value does notchange) for software routine purposes.

According to one embodiment, the method 200 can include step 226,wherein raw data that is created by additional buttons (e.g., theA-Button 226, the B-Button 28, the X-Button 30, the Y-Button 32, theselection wheel 34, the bumper 36, the trigger 38, the like, orcombination thereof) can be received. Additionally, at step 228, theuser can control a switch that tells the digital logic filter which modeto use for the additional buttons and input devices. At decision step218, the digital logic (e.g., controller 48) receives the input from theadditional buttons and devices, and based upon the compatibility modeselected by the user (step 228) or the controller 48 (step 204), theinformation is processed and/or filtered accordingly.

At step 232, a filtering process includes all of the data from theadditional buttons and devices being nullified, so that the data is notpassed on to the controller processor. This can result in all theadditional buttons losing an effect, which allows for compatibility andtraditional field of legacy games. At step 234, according to oneembodiment, the filtering process allows for all the data from theadditional buttons and devices to be reassigned to various legacyfunctions. Instead of delivering no response at all, this mode attemptsto allow the additional buttons to mimic legacy button functionality. Ifstep 236 is implemented, the filtering process allows all the data fromthe additional buttons and devices to be passed directly through toallow functionality as intended by the additional buttons. At step 238,the compatibility passed-through allows the data from the selectedfilter (steps 232, 234, 236) to pass onto final collation at step 224.At step 240 an output is emitted from the video game controller 10 tothe video game console 12. It should be appreciated by those skilled inthe art that the above circuitry and/or executable software routines canbe at least partially included in the video game console 12 rather thanthe video game controller 10. It should further be appreciated by thoseskilled in the art that the video game controller 10 and video gameconsole 12 can be other controller/console systems, wherein the inputsare entered on the controller to connect an audio and/or video outputemitted by the console.

With respect to FIG. 8, a method of data flow in a digital logic andvideo game controller having a retroactive compatibility device isgenerally shown at reference identifier 850. The method 850 starts atstep 852, wherein a filter method selection is received. Typically, auser of the video game controller 10 inputs the filter or compatibilitymethod selection using one or more of the compatibility selection device44. At step 854, travel data can be received/calculated. Such traveldata is typically based upon inputs by a user using one or more inputdevices on the video game controller 10. Thus, data is received by auser activating one or more non-legacy output devices.

The method 850 then proceeds to step 856, wherein the selected filtermethod is performed on the travel data. Thus, the data received as afunction of the non-legacy input device is translated to beretroactivity compatible. The data is then outputted at step 858.Typically, the method 850 returns to step 852 forming a continuous loop,but it should be appreciated by those skilled in the art that the method850 can end after one or more cycles, such as, but not limited to, whenthe power to the video game controller 10 being turned off.

In regards to FIG. 9, a method for data flow in a digital logic in avideo game controller 10 having a retroactive compatibility device 18 isgenerally shown at reference identifier 960. The method 960 starts atstep 852, wherein a filter or compatibility method selection isreceived. The method 960 then proceeds to step 962, wherein coordinatesof a cursory device are requested. Typically, the coordinates of thecursory device (e.g., the non-legacy input device) are displayed on ascreen, which is not necessary, but can help visualize the process, anddemonstrate the coordinates system that makes filtration desirable. Atstep 964, a variable use for filtration is declared. Typically, asensitivity variable is initialized. The sensitivity variableinitialization may be changed dynamically by a user. Other variablesthat may be declared are output variables that can be passed to thevideo game console 12. At step 966 variable(s) are initialized.Typically, the variables being initialized at step 966 are actualmeasurements of cursor moved over time. On the coordinate system, thesevariables are found subtracting the last known coordinate position forthe current coordinate position, and the difference is then multipliedby a sensitivity setting when one is present. This calculation providesthe “x” and “y” travel distances that may be used both in and ofthemselves by the video game controller 10, as set forth in later stepsof the method 960.

The method 960 then proceeds to decision step 968. At decision step 968,it is determined which filter method is selected. If it is determined atdecision step 968 that the truncation filter method is selected, thenthe method 960 proceeds to step 970, wherein the data passed to theapplication emulates data that the application would normally receivefrom non-cursory devices (e.g., legacy devices). Thus, if the traveldata exceeds parameters of the video game console's 12 normal input, thefilter can limit the output to within tolerances normally afforded bythe video game console 12. According to one embodiment, the truncationfilter is similar to the mode overdrive filter mode.

If it is determined at decision step 968 that the division filter methodis selected, the method 960 proceeds to step 972, wherein the data isbrought in line with the video game console's 12 normal input, such thatdata is emulated as-if received from a legacy input device, wherein theencoded data exceeds tolerances received from the legacy input devices.Thus, the division filter method may not exceed a single digit, whereas,a pass-through method data can reach two digits or three digits inlength. This results in the data from the division filter method beingmore likely useable than the pass-through method but not as precise,while being more precise in the truncation method, but not asfunctional. Typically, the division filter can be similar to the fullcompatibility mode.

If it is determined at decision step 968 that the pass-through method isselected, then the method 960 proceeds to step 974. At step 974, thedata received passes directly through to step 976. According to oneembodiment, the pass-through method can be a default method if the userdoes not select another filter method. At step 976, data is outputtedfrom the video game controller 10 to the video game console 12. At step978, current coordinates can be passed to a global variable, wherein theglobal variable can be used in the next iteration. Thus, the currentcoordinates can become the “last known” coordinates the next time thefilter is initiated, such that these are placed after the travel datahas been calculated for a coordinate based cursory device. The method960 can then proceed to step 980 where the thread is paused due to thespeed of processing the above noted steps. However, it should beappreciated by those skilled in the art that the method 960 can beimplemented without step 980.

Although the retroactive compatibility device 18 and compatibilityselection device 44 is illustrated and described as being integratedwith the controller 10, it should be appreciated by those skilled in theart that the retroactive compatibility device 18 and method 100, 200,850, and 960 can be integrated and/or implemented by the controller 10,the video game console 12, an adapter in communicative connectionbetween the controller 10 and the video game console 12, or acombination thereof. By way of explanation and not limitation, methods850 and 960 may be implemented by the video game console 12.

According to one aspect, a video game system can include at least oneinput device and a retroactivity compatibility device that converts datareceived as a function of the at least one input device, such that theconverted data is configured to be received by a video game console thatis executing software routines not intended for functioning with respectto the data received as a function of the at least one input device.

According to one aspect, a method of retroactivity compatibilityincludes the steps of receiving data from an input device, andconverting the received data to a format that can be utilized withsoftware routines that are not intended for functioning with respect tothe received data.

Advantageously, the video game controller 10 can include a combinationof at least two of the trackball 24, the D-pad 20, and the joystick 22.Additionally, the video game controller 10 includes the retroactivecompatibility device 18 that allows the user of the video gamecontroller 10 to utilize at least one input device that the game beingplayed on the video game console 12 was not intended to be used, suchthat the video game controller 10 is retroactively compatible. It shouldbe appreciated by those skilled in the art that additional advantages,alone or in combination with the above advantages, may be present. Itshould further be appreciated by those skilled in the art that the abovedescribed components and method steps may be combined in alternativecombinations.

Modifications of the invention will occur to those skilled in the artand to those who make or use the invention. Therefore, it is understoodthat the embodiments shown in the drawings and described above aremerely for illustrative purposes and not intended to limit the scope ofthe invention, which is defined by the following claims as interpretedaccording to the principles of patent law, including the doctrine ofequivalents.

1. A controller in communicative connection with a receiver configuredto receive data only as a function of at least one legacy input device,said controller comprising: at least one non-legacy input device; and aretroactive compatibility device configured to translate data receivedas a function of said at least one non-legacy input device, such thatsaid translated data is configured to be received by a receiverconfigured to receive data as a function of the at least one legacyinput device.
 2. The controller of claim 1, wherein said at least onenon-legacy input device comprises a joystick and a trackball.
 3. Thecontroller of claim 2 further comprising a selection wheel configured toset a sensitivity of at least one of said joystick and said trackball.4. The controller of claim 1 being a video game controller, wherein saidreceiver is a video game console.
 5. The controller of claim 1, whereinsaid retroactive compatibility device is configured to translate datausing one of a truncation filter, a division filter, and a pass-through.6. The controller of claim 5, wherein said truncation filter isconfigured to emulate data within tolerances received from the at leastone legacy input device.
 7. The controller of claim 5, wherein saiddivision filter is configured to emulate data received from the legacyinput devices, wherein said emulated data exceeds tolerances receivedfrom the legacy input devices.
 8. A video game system comprising a videogame controller in communicative connection with a video game consoleconfigured to receive data only as a function of at least one legacyinput device, said video game system comprising: at least one inputdevice; and a retroactive compatibility device that translates datareceived as a function of said at least one input device, such that saidtranslated data is configured to be received by the video game consolethat is configured to execute at least one software routine intended tofunction with data other than said data received as a function of saidat least one input device.
 9. The controller of claim 10, wherein saidat least one input device is a joystick and a trackball.
 10. Thecontroller of claim 10, wherein said retroactive compatibility device isconfigured to translate data using one of a truncation filter, adivision filter, and a pass-through.
 11. The controller of claim 10,wherein said truncation filter is configured to emulate data withintolerances received from the legacy input device.
 12. The controller ofclaim 10, wherein said division filter is configured to emulate datareceived from the legacy input devices, wherein said emulated dataexceeds tolerances received from the legacy input devices.
 13. A methodof retroactive compatibility, such that a receiver receives data as afunction of at least one non-legacy input device, wherein the receiveris configured to receive data only as a function of at least one legacyinput device, said method comprising the steps of: receiving data fromthe at least one non-legacy input device of a controller; translatingdata received from the at least one non-legacy input device to beretroactively compatible; and outputting said translated data from saidcontroller to the receiver.
 14. The method of claim 13 furthercomprising the step of selecting a filter method for translating saiddata received from the at least one non-legacy input device.
 15. Themethod of claim 13, wherein said step of translating data furthercomprises: emulating data within tolerances received from the at leastone input device.
 16. The method of claim 13, wherein said step oftranslating data further comprises: emulating data received from thelegacy input devices, wherein said emulated data exceeds tolerancesreceived from the legacy input devices.
 17. The method of claim 13,wherein said step of translating data further comprises: passing-throughsaid data received from the non-legacy input device.
 18. The method ofclaim 13, wherein said controller is a video game controller, and thereceiver is a video game console.
 19. The method of claim 13, whereinthe at least one non-legacy input device comprises a joystick and atrackball.
 20. The method of claim 19 further comprising the step ofselecting a sensitivity of at least one of said joystick and saidtrackball.